#ifndef ANGELSCRIPT_BASE_HPP
#define ANGELSCRIPT_BASE_HPP

#include <angelscript.h>
#include <string>

class AngelScriptShared {
public:
    static asIScriptEngine* GetEngine();
private:
    AngelScriptShared();
    ~AngelScriptShared();

    asIScriptEngine * const the_engine{};
};

class AngelScriptBase {
public:
    AngelScriptBase(const std::string &script_path, const std::string &cat);
    virtual ~AngelScriptBase() = default;
protected:
    std::string const module_name;
};

#endif /* ANGELSCRIPT_BASE_HPP */
